# 这是注释 行注释
'''
这是块注释
'''

# 字符串
"""
python字符串自带方法

# 1字母处理：
.upper()    # 全部大写 只对英文字母有效
.lower()    # 全部小写
.swapcase()   # 大小写互换
.capitalize()  # 首字母大写，其余小写
.title()    # 首字母大写

# 2格式化相关
.ljust(width)     # 获取固定长度，左对齐，右边不够用空格补齐
.rjust(width)     # 获取固定长度，右对齐，左边不够用空格补齐
.center(width)  # 获取固定长度，中间对齐，两边不够用空格补齐
.zfill(width)      # 获取固定长度，右对齐，左边不足用0补齐

# 3 字符串搜索相关
.find()    # 搜索指定字符串，没有返回-1
.index()    # 同上，但是找不到会报错
.rfind()    # 从右边开始查找
.count()    # 统计指定的字符串出现的次数

# 4字符串替换
.replace('old','new')    # 替换old为new
.replace('old','new',次数)    # 替换指定次数的old为new

# 5字符串去空格及去指定字符
.strip()    # 去两边空格
.lstrip()    # 去左边空格
.rstrip()    # 去右边空格
.split()    # 默认按空格分隔
.split('指定字符')    # 按指定字符分割字符串为数组

# 6字符串判断相关
.startswith('start')    # 是否以start开头
.endswith('end')    # 是否以end结尾
.isalnum()    # 是否全为字母或数字
.isalpha()    # 是否全字母
.isdigit()    # 是否全数字
.islower()    # 是否全小写
.isupper()    # 是否全大写
.istitle()    # 判断首字母是否为大写
.isspace()    # 判断字符是否为空格

# 补充
.bin()    # 十进制数转八进制
.hex()    # 十进制数转十六进制
.range()    # 函数：可以生成一个整数序列
.type()    # 查看数据类型
.len()    # 计算字符串长度
.format()    # 格式化字符串，类似%s，传递值能多不能少
"""
# str1 = "123456789"
# print(str1.upper())
# # 输出语句
# print(str1.split("4"))
# # 类型查看与类型转换
# print(type(str1))
# print(int(str1))
#
# # 列表 可以嵌套
# list1 = [123 ,464,"64564",[564654,46546,"46545"]]
#
# # 元组
# tp =(1,2,3,(4,5,6,7))
# print(type(tp))
# print(tp)
# # 元组与列表的遍历
# for item in list1:
#     print(item)
# for item in tp:
#     print(item)
"""
列表的内置方法

-----增 - ----
.append()  # 在list尾部插入一个元素
.insert()  # 在list指定位置插入一个元素

-----删 - ----
.remove("123") # 删除list中名为'123'的元素
del listName[index]  # 删除listName中index位置的元素
.pop()  # 默认删除list中最后一个元素
.pop(index)  # 删除list中index位置的元素

-----改 - ----
list[index] = 'bbb' #修改对应index下标的值
-----查 - ----
listName[index]  #取出index位置的值
listName[0:3]  # 顾头不顾尾/切片
listName[-1]  # 取最后一个
listName[-2:]  # 取最后两个
listName[:3]  # 取前两个

-----查找 - ----
listName.index('1234')  # 查找'1234'在list中的下标（位置）
listName[listName.index('1234')]  # 根据下标取回list中相应的值

-----统计 - ----
listName.count('1234')  # 统计'1234'在list中出现的次数

-----清空 - ----
listName.clear()  # 清空listName中的元素

-----反转 - ----
listName.reverse()  # 反转整个listName

-----排序 - ----
listName.sort()  # 对list进行排序，优先级为：特殊符号-->数字-->大写字母-->小写字母

-----合并list - ----
listName1 = [1, 2, 3, 4]  # 将listName1合并到listName2中
listName2.extend(listName1)
del listName1  # 删除listName2
print(names)

-----复制 - ----
listName1 = ['zhangyu', 'mahongyan', ['aaa', 'bbb'], 'zhangguobin', 'shachunhua']
listName2 = listName1.copy()

-----步长切片 - ----
listName[0:-1:2]
"""

# names = ['zhangyu', 'mahongyan', 'zhangguobin', 'shachunhua']
#
# names.append('zhangzhongjian')  # 在list尾部插入一个元素
# names.insert(1, 'aaa')  # 在list指定位置插入一个元素
#
# names.remove('zhangyu')  # 删除list中名为'zhangyu'的元素
# del names[1]  # 删除list中指定位置的元素
# names.pop()  # 默认删除list中最后一个元素
# names.pop(0)  # 删除list中指定位置的元素
#
# names[1] = 'bbb'
#
#
# print(names[0], names[1])
# print(names[0:3])  # 顾头不顾尾/切片
# print(names[-1])  # 取最后一个
# print(names[-2:])  # 取最后两个
# print(names[:3])  # 取前两个
#
#
# print(names.index('zhangyu'))  # 查找'zhangyu'在list中的下标（位置）
# print(names[names.index('zhangyu')])  # 根据下标取回list中相应的值
#
#
# print(names.count('zhangyu'))  # 统计'zhangyu'在list中出现的次数
#
#
# names.clear()  # 清空list中的元素
#
#
# names.reverse()  # 反转整个list
#
#
# names.sort()  # 对list进行排序，优先级为：特殊符号-->数字-->大写字母-->小写字母
#
#
# names2 = [1, 2, 3, 4]  # 将names2合并到names中
# names.extend(names2)
# del names2  # 删除names2
# print(names)
#
#
# names1 = ['zhangyu', 'mahongyan', ['aaa', 'bbb'], 'zhangguobin', 'shachunhua']
# names2 = names1.copy()
# print(names2, names1)
# names1[0] = '张宇'
# names1[2][0] = 'abc'
# print(names2, names1)  # 由此可以看出，当names1中元素发生变更时，names2并未完全copy names1（浅copy）
# # 那么如何进行深copy呢？-->引入copy模块
# import copy
#
# names1 = ['zhangyu', 'mahongyan', ['aaa', 'bbb'], 'zhangguobin', 'shachunhua']
# names2 = copy.deepcopy(names1)  # 深copy
# print(names2, names1)
# names1[0] = '张宇'
# names1[2][0] = 'abc'
# print(names2, names1)  # 此时无论names1中元素如何变化，names2中的元素依然是初始的names1中的元素
#
# print(names[0:-1:2])

list1  = ["tom","jery","jim"]
list2  = [1,2,4,5]
ret = zip(list1,list2)
print(ret)
for it in ret:
    print(it)
    print(type(it))

